#ifndef ATLASVIEW_H
#define ATLASVIEW_H

#include <QGraphicsView>
#include <QApplication>
#include <QMouseEvent>
#include <QWheelEvent>
#include <QGraphicsSceneMouseEvent>

/*! ********************************
 *      Atlas View : Cette classe existe uniquement dans le but de surcharger les
 *      événements du QGraphicsView. En effet, par défault, les événements sont propagé vers le QGraphicsScene
 *      mais pas vers la fenêtre incluant le QGraphicsView. Ceci est lié au fait que QGraphicsView est une classe
 *      qui hérite de QAbstractScrollbar
 ********************************/

class AtlasView : public QGraphicsView
{
    /*************************************
     *          Public
     *************************************/
    public :

        /*************************************
         *          Constructors
         *************************************/

            AtlasView( QGraphicsScene * scene, QWidget * parent);
            AtlasView( QGraphicsScene * scene);

        /*************************************
         *          Events
         *************************************/

            void mousePressEvent(QMouseEvent *event);
            void mouseMoveEvent(QMouseEvent *event);
            void mouseReleaseEvent(QMouseEvent *event);

            void wheelEvent(QWheelEvent * event);


};

#endif // ATLASVIEW_H
